package com.xiao.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiao.domain.ResponseResult;
import com.xiao.domain.dto.AddArticleDto;
import com.xiao.domain.dto.article.QueryArticleDto;
import com.xiao.domain.dto.article.SaveUpdateArticleDto;
import com.xiao.domain.pojo.Article;
import com.xiao.domain.vo.PageVo;
import com.xiao.domain.vo.article.UpdateArticleVo;

import java.util.List;

public interface ArticleService extends IService<Article> {
    ResponseResult hosArticleList(); // 返回热门文章列表

    ResponseResult articleList(Integer pageNum,Integer pageSize,Long categoryId);// 提供分类ID，分页查询

    ResponseResult getArticleDetailsById(Long id);// 根据文章ID,获取文章;

    ResponseResult updateViewCount(Long id); // 根据文章ID,增量浏览量
    // 新增博文
    ResponseResult addArticle(AddArticleDto addArticleDto);

    // 返回文章分页列表，支持模糊查询
    ResponseResult<PageVo> getArticleList(Integer pageNum, Integer pageSize, QueryArticleDto dto);

    // 修改文章-根据文章ID返回文章信息,包含所关联的标签列表
    ResponseResult<UpdateArticleVo> updateArticle(Long id);
    // 保存修改好的文章
    ResponseResult saveUpdateArticle(SaveUpdateArticleDto dto);
    // 根据文章id列表，删除文章
    ResponseResult delArticleByIdList(List<Long> idList);
}
